[INFO] fetching crate parseal 0.2.4...
[INFO] checking parseal-0.2.4 against master#9610dfe5a9a731ced1ea4923ecbd0c57fe367898 for beta-170-4
[INFO] extracting crate parseal 0.2.4 into /workspace/builds/worker-2-tc1/source
[INFO] validating manifest of crates.io crate parseal 0.2.4 on toolchain 9610dfe5a9a731ced1ea4923ecbd0c57fe367898
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate parseal 0.2.4
[INFO] removed 4 missing examples
[INFO] finished tweaking crates.io crate parseal 0.2.4
[INFO] tweaked toml for crates.io crate parseal 0.2.4 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] crate crates.io crate parseal 0.2.4 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded parseal-derive v0.2.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:19e73879b68f455e41552ea35293514db52ea292d993f571636dbffedb77a1ee" "/opt/rustwide/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9074396ac2a7f2854f59d8a0922b9d9da1303903a1411f26c92afab805720dad
[INFO] running `Command { std: "docker" "start" "-a" "9074396ac2a7f2854f59d8a0922b9d9da1303903a1411f26c92afab805720dad", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9074396ac2a7f2854f59d8a0922b9d9da1303903a1411f26c92afab805720dad", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9074396ac2a7f2854f59d8a0922b9d9da1303903a1411f26c92afab805720dad", kill_on_drop: false }`
[INFO] [stdout] 9074396ac2a7f2854f59d8a0922b9d9da1303903a1411f26c92afab805720dad
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:19e73879b68f455e41552ea35293514db52ea292d993f571636dbffedb77a1ee" "/opt/rustwide/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1b8150b1430fa44fe6df1bf1a5c683b9e70234c58ef87edfde3e01a404f451af
[INFO] running `Command { std: "docker" "start" "-a" "1b8150b1430fa44fe6df1bf1a5c683b9e70234c58ef87edfde3e01a404f451af", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.134
[INFO] [stderr]     Checking getrandom v0.2.7
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking parseal v0.2.4 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved imports `parseal::data_formats`, `parseal::Parsable`
[INFO] [stdout]  --> examples/yaml/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     data_formats::{NamedValue, Node, ParseNode, TreeData},
[INFO] [stdout]   |     ^^^^^^^^^^^^ could not find `data_formats` in `parseal`
[INFO] [stdout] 5 |     parsing::{self, charstream::CharStream, tokens, Identifier, Indent, Parse},
[INFO] [stdout] 6 |     Parsable,
[INFO] [stdout]   |     ^^^^^^^^ no `Parsable` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `parseal::data_formats`, `parseal::Parsable`
[INFO] [stdout]   --> examples/json/main.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  |     data_formats::{NamedValue, Node, ParseNode, TreeData},
[INFO] [stdout]    |     ^^^^^^^^^^^^ could not find `data_formats` in `parseal`
[INFO] [stdout] ...
[INFO] [stdout] 13 |     Parsable,
[INFO] [stdout]    |     ^^^^^^^^ no `Parsable` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `parseal::Parsable`
[INFO] [stdout]   --> examples/html/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Parsable,
[INFO] [stdout]    |     ^^^^^^^^ no `Parsable` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Parsable`
[INFO] [stdout]   --> examples/json/main.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Clone, Parsable, Debug)]
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Parsable`
[INFO] [stdout]   --> examples/html/main.rs:34:10
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Parsable, Debug, Clone)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Parsable`
[INFO] [stdout]  --> examples/yaml/main.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[derive(Clone, Parsable, Debug)]
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Parsable`
[INFO] [stdout]   --> examples/html/main.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Parsable, Debug, Clone)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Parsable`
[INFO] [stdout]   --> examples/yaml/main.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Parsable, Debug, Clone)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Parsable`
[INFO] [stdout]   --> examples/yaml/main.rs:36:24
[INFO] [stdout]    |
[INFO] [stdout] 36 | #[derive(Debug, Clone, Parsable)]
[INFO] [stdout]    |                        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Parsable`
[INFO] [stdout]   --> examples/html/main.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(Parsable, Debug, Clone)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Parsable`
[INFO] [stdout]   --> examples/html/main.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Parsable, Debug, Clone)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Parsable`
[INFO] [stdout]   --> examples/html/main.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Parsable, Debug, Clone)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> examples/yaml/main.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 |     parsing::{self, charstream::CharStream, tokens, Identifier, Indent, Parse},
[INFO] [stdout]   |               ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Parsable`
[INFO] [stdout]   --> examples/html/main.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Parsable, Debug, Clone)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `parseal::Parsable`
[INFO] [stdout]  --> examples/rust/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     Parsable,
[INFO] [stdout]   |     ^^^^^^^^ no `Parsable` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `parseal::Parsable`
[INFO] [stdout]  --> examples/rust/typedata.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use parseal::{Parsable, parsing::{self, Parse, Identifier, Group, tokens, List}};
[INFO] [stdout]   |               ^^^^^^^^ no `Parsable` in the root
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider importing this unresolved item instead:
[INFO] [stdout]           crate::Parsable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `parseal::Parsable`
[INFO] [stdout]  --> examples/rust/expression.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use parseal::{Parsable, parsing::{self, Parse, Identifier, tokens, Group, List, StringValue}};
[INFO] [stdout]   |               ^^^^^^^^ no `Parsable` in the root
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider importing this unresolved item instead:
[INFO] [stdout]           crate::Parsable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Parsable`
[INFO] [stdout]  --> examples/rust/typedata.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Parsable, Clone, Debug)]
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Parsable`
[INFO] [stdout]   --> examples/rust/typedata.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Parsable, Clone, Debug)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Parsable`
[INFO] [stdout]   --> examples/rust/typedata.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Parsable, Clone, Debug)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Parsable`
[INFO] [stdout]   --> examples/rust/typedata.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Parsable, Clone, Debug)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `value` in this scope
[INFO] [stdout]   --> examples/rust/typedata.rs:27:7
[INFO] [stdout]    |
[INFO] [stdout] 27 |     #[value("enum")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Parsable`
[INFO] [stdout]   --> examples/rust/typedata.rs:33:10
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Parsable, Clone, Debug)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Parsable`
[INFO] [stdout]   --> examples/rust/typedata.rs:39:10
[INFO] [stdout]    |
[INFO] [stdout] 39 | #[derive(Parsable, Clone, Debug)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Parsable`
[INFO] [stdout]   --> examples/rust/typedata.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Parsable, Clone, Debug)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Parsable`
[INFO] [stdout]   --> examples/rust/typedata.rs:60:10
[INFO] [stdout]    |
[INFO] [stdout] 60 | #[derive(Parsable, Clone, Debug)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `value` in this scope
[INFO] [stdout]   --> examples/rust/typedata.rs:64:7
[INFO] [stdout]    |
[INFO] [stdout] 64 |     #[value("struct")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Parsable`
[INFO] [stdout]  --> examples/rust/expression.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Parsable, Clone, Debug)]
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `value` in this scope
[INFO] [stdout]  --> examples/rust/expression.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 |     Mutable(#[value("mut")] Identifier),
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Parsable`
[INFO] [stdout]  --> examples/rust/expression.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[derive(Parsable, Clone, Debug)]
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `value` in this scope
[INFO] [stdout]   --> examples/rust/expression.rs:12:31
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Mutable(tokens::Ampersand, #[value("mut")] Identifier),
[INFO] [stdout]    |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Parsable`
[INFO] [stdout]   --> examples/rust/expression.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Parsable, Clone, Debug)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `value` in this scope
[INFO] [stdout]   --> examples/rust/expression.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 |     #[value("let")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Parsable`
[INFO] [stdout]   --> examples/rust/expression.rs:26:10
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Parsable, Clone, Debug)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `value` in this scope
[INFO] [stdout]   --> examples/rust/expression.rs:31:20
[INFO] [stdout]    |
[INFO] [stdout] 31 |     ReturnStatement(#[value("return")] Identifier, Expression, tokens::Semicolon),
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Parsable`
[INFO] [stdout]   --> examples/rust/expression.rs:34:10
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Parsable, Clone, Debug)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Parsable`
[INFO] [stdout]   --> examples/rust/expression.rs:39:10
[INFO] [stdout]    |
[INFO] [stdout] 39 | #[derive(Parsable, Clone, Debug)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Parsable`
[INFO] [stdout]   --> examples/rust/expression.rs:45:10
[INFO] [stdout]    |
[INFO] [stdout] 45 | #[derive(Parsable, Clone, Debug)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Parsable`
[INFO] [stdout]   --> examples/rust/expression.rs:52:10
[INFO] [stdout]    |
[INFO] [stdout] 52 | #[derive(Parsable, Clone, Debug)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Parsable`
[INFO] [stdout]   --> examples/rust/expression.rs:60:10
[INFO] [stdout]    |
[INFO] [stdout] 60 | #[derive(Parsable, Clone, Debug)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Parsable`
[INFO] [stdout]   --> examples/rust/main.rs:15:24
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Debug, Clone, Parsable)]
[INFO] [stdout]    |                        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Parsable`
[INFO] [stdout]   --> examples/rust/main.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Parsable, Clone, Debug)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Parsable`
[INFO] [stdout]   --> examples/rust/main.rs:27:10
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Parsable, Clone, Debug)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Parsable`
[INFO] [stdout]   --> examples/rust/main.rs:34:10
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Parsable, Clone, Debug)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `value` in this scope
[INFO] [stdout]   --> examples/rust/main.rs:36:14
[INFO] [stdout]    |
[INFO] [stdout] 36 |     Public(#[value("pub")] Identifier),
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Parsable`
[INFO] [stdout]   --> examples/rust/main.rs:40:10
[INFO] [stdout]    |
[INFO] [stdout] 40 | #[derive(Parsable, Clone, Debug)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `value` in this scope
[INFO] [stdout]   --> examples/rust/main.rs:44:7
[INFO] [stdout]    |
[INFO] [stdout] 44 |     #[value("fn")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Parsable`
[INFO] [stdout]   --> examples/rust/main.rs:51:10
[INFO] [stdout]    |
[INFO] [stdout] 51 | #[derive(Parsable, Clone, Debug)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `value` in this scope
[INFO] [stdout]   --> examples/rust/main.rs:53:11
[INFO] [stdout]    |
[INFO] [stdout] 53 |     Use(#[value("use")] Identifier, UsePart, tokens::Semicolon),
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `value` in this scope
[INFO] [stdout]   --> examples/rust/main.rs:54:11
[INFO] [stdout]    |
[INFO] [stdout] 54 |     Mod(#[value("mod")] Identifier, Identifier, tokens::Semicolon),
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Parsable`
[INFO] [stdout]   --> examples/rust/main.rs:60:10
[INFO] [stdout]    |
[INFO] [stdout] 60 | #[derive(Parsable, Clone, Debug)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `parseal` (example "yaml") due to 5 previous errors; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `parseal` (example "json") due to 3 previous errors
[INFO] [stdout] error[E0599]: no function or associated item named `parse` found for struct `HTML` in the current scope
[INFO] [stdout]   --> examples/html/main.rs:46:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct HTML {
[INFO] [stdout]    | --------------- function or associated item `parse` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 46 |     HTML::parse(&mut buffer).unwrap();
[INFO] [stdout]    |           ^^^^^ function or associated item not found in `HTML`
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following trait defines an item `parse`, perhaps you need to implement it:
[INFO] [stdout]            candidate #1: `Parse`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `parseal` (example "html") due to 9 previous errors
[INFO] [stdout] error[E0277]: the trait bound `UsePart: Parse` is not satisfied
[INFO] [stdout]    --> examples/rust/main.rs:17:32
[INFO] [stdout]     |
[INFO] [stdout] 17  |     Group(Group<tokens::Brace, List<Box<UsePart>>>),
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^ the trait `Parse` is not implemented for `UsePart`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Parse`:
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Bang
[INFO] [stdout]               Box<T>
[INFO] [stdout]               Dollar
[INFO] [stdout]               DoubleColon
[INFO] [stdout]               EqualEqual
[INFO] [stdout]               FatArrow
[INFO] [stdout]             and 35 others
[INFO] [stdout]     = note: required for `Box<UsePart>` to implement `Parse`
[INFO] [stdout] note: required by a bound in `List`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parsing.rs:181:8
[INFO] [stdout]     |
[INFO] [stdout] 179 | pub struct List<I, S = tokens::Comma>
[INFO] [stdout]     |            ---- required by a bound in this struct
[INFO] [stdout] 180 | where
[INFO] [stdout] 181 |     I: Parse,
[INFO] [stdout]     |        ^^^^^ required by this bound in `List`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `AttrValue: Parse` is not satisfied
[INFO] [stdout]    --> examples/rust/main.rs:31:69
[INFO] [stdout]     |
[INFO] [stdout] 31  |     value: Group<tokens::Bracket, (Identifier, Group<tokens::Paren, List<AttrValue>>)>
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^^^^^ the trait `Parse` is not implemented for `AttrValue`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Parse`:
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Bang
[INFO] [stdout]               Box<T>
[INFO] [stdout]               Dollar
[INFO] [stdout]               DoubleColon
[INFO] [stdout]               EqualEqual
[INFO] [stdout]               FatArrow
[INFO] [stdout]             and 35 others
[INFO] [stdout] note: required by a bound in `List`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parsing.rs:181:8
[INFO] [stdout]     |
[INFO] [stdout] 179 | pub struct List<I, S = tokens::Comma>
[INFO] [stdout]     |            ---- required by a bound in this struct
[INFO] [stdout] 180 | where
[INFO] [stdout] 181 |     I: Parse,
[INFO] [stdout]     |        ^^^^^ required by this bound in `List`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `NamedField: Parse` is not satisfied
[INFO] [stdout]    --> examples/rust/main.rs:47:38
[INFO] [stdout]     |
[INFO] [stdout] 47  |     parameters: Group<tokens::Paren, List<NamedField>>,
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^ the trait `Parse` is not implemented for `NamedField`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Parse`:
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Bang
[INFO] [stdout]               Box<T>
[INFO] [stdout]               Dollar
[INFO] [stdout]               DoubleColon
[INFO] [stdout]               EqualEqual
[INFO] [stdout]               FatArrow
[INFO] [stdout]             and 35 others
[INFO] [stdout] note: required by a bound in `List`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parsing.rs:181:8
[INFO] [stdout]     |
[INFO] [stdout] 179 | pub struct List<I, S = tokens::Comma>
[INFO] [stdout]     |            ---- required by a bound in this struct
[INFO] [stdout] 180 | where
[INFO] [stdout] 181 |     I: Parse,
[INFO] [stdout]     |        ^^^^^ required by this bound in `List`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Statement: Parse` is not satisfied
[INFO] [stdout]   --> examples/rust/main.rs:48:11
[INFO] [stdout]    |
[INFO] [stdout] 48 |     code: Group<tokens::Brace, Option<Vec<Statement>>>,
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Parse` is not implemented for `Statement`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Parse`:
[INFO] [stdout]              (A, B)
[INFO] [stdout]              (A, B, C)
[INFO] [stdout]              Bang
[INFO] [stdout]              Box<T>
[INFO] [stdout]              Dollar
[INFO] [stdout]              DoubleColon
[INFO] [stdout]              EqualEqual
[INFO] [stdout]              FatArrow
[INFO] [stdout]            and 35 others
[INFO] [stdout]    = note: required for `Vec<Statement>` to implement `Parse`
[INFO] [stdout]    = note: 1 redundant requirement hidden
[INFO] [stdout]    = note: required for `Option<Vec<Statement>>` to implement `Parse`
[INFO] [stdout] note: required by a bound in `Group`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parsing.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub struct Group<D, I>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 61 |     I: Parse,
[INFO] [stdout]    |        ^^^^^ required by this bound in `Group`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TypeValue: Parse` is not satisfied
[INFO] [stdout]    --> examples/rust/typedata.rs:8:45
[INFO] [stdout]     |
[INFO] [stdout] 8   |     generics: Option<Group<tokens::Chevron, List<Box<TypeValue>>>>,
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^ the trait `Parse` is not implemented for `TypeValue`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Parse`:
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Bang
[INFO] [stdout]               Box<T>
[INFO] [stdout]               Dollar
[INFO] [stdout]               DoubleColon
[INFO] [stdout]               EqualEqual
[INFO] [stdout]               FatArrow
[INFO] [stdout]             and 35 others
[INFO] [stdout]     = note: required for `Box<TypeValue>` to implement `Parse`
[INFO] [stdout] note: required by a bound in `List`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parsing.rs:181:8
[INFO] [stdout]     |
[INFO] [stdout] 179 | pub struct List<I, S = tokens::Comma>
[INFO] [stdout]     |            ---- required by a bound in this struct
[INFO] [stdout] 180 | where
[INFO] [stdout] 181 |     I: Parse,
[INFO] [stdout]     |        ^^^^^ required by this bound in `List`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TypeValue: Parse` is not satisfied
[INFO] [stdout]    --> examples/rust/typedata.rs:14:32
[INFO] [stdout]     |
[INFO] [stdout] 14  |     Tuple(Group<tokens::Paren, List<Box<TypeValue>>>),
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^ the trait `Parse` is not implemented for `TypeValue`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Parse`:
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Bang
[INFO] [stdout]               Box<T>
[INFO] [stdout]               Dollar
[INFO] [stdout]               DoubleColon
[INFO] [stdout]               EqualEqual
[INFO] [stdout]               FatArrow
[INFO] [stdout]             and 35 others
[INFO] [stdout]     = note: required for `Box<TypeValue>` to implement `Parse`
[INFO] [stdout] note: required by a bound in `List`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parsing.rs:181:8
[INFO] [stdout]     |
[INFO] [stdout] 179 | pub struct List<I, S = tokens::Comma>
[INFO] [stdout]     |            ---- required by a bound in this struct
[INFO] [stdout] 180 | where
[INFO] [stdout] 181 |     I: Parse,
[INFO] [stdout]     |        ^^^^^ required by this bound in `List`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `UnnamedField: Parse` is not satisfied
[INFO] [stdout]    --> examples/rust/typedata.rs:19:44
[INFO] [stdout]     |
[INFO] [stdout] 19  |     Tuple(Identifier, Group<tokens::Paren, List<UnnamedField>>),
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^ the trait `Parse` is not implemented for `UnnamedField`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Parse`:
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Bang
[INFO] [stdout]               Box<T>
[INFO] [stdout]               Dollar
[INFO] [stdout]               DoubleColon
[INFO] [stdout]               EqualEqual
[INFO] [stdout]               FatArrow
[INFO] [stdout]             and 35 others
[INFO] [stdout] note: required by a bound in `List`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parsing.rs:181:8
[INFO] [stdout]     |
[INFO] [stdout] 179 | pub struct List<I, S = tokens::Comma>
[INFO] [stdout]     |            ---- required by a bound in this struct
[INFO] [stdout] 180 | where
[INFO] [stdout] 181 |     I: Parse,
[INFO] [stdout]     |        ^^^^^ required by this bound in `List`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Variant: Parse` is not satisfied
[INFO] [stdout]    --> examples/rust/typedata.rs:30:36
[INFO] [stdout]     |
[INFO] [stdout] 30  |     variants: Group<tokens::Brace, List<Variant>>,
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^ the trait `Parse` is not implemented for `Variant`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Parse`:
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Bang
[INFO] [stdout]               Box<T>
[INFO] [stdout]               Dollar
[INFO] [stdout]               DoubleColon
[INFO] [stdout]               EqualEqual
[INFO] [stdout]               FatArrow
[INFO] [stdout]             and 35 others
[INFO] [stdout] note: required by a bound in `List`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parsing.rs:181:8
[INFO] [stdout]     |
[INFO] [stdout] 179 | pub struct List<I, S = tokens::Comma>
[INFO] [stdout]     |            ---- required by a bound in this struct
[INFO] [stdout] 180 | where
[INFO] [stdout] 181 |     I: Parse,
[INFO] [stdout]     |        ^^^^^ required by this bound in `List`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `NamedField: Parse` is not satisfied
[INFO] [stdout]    --> examples/rust/typedata.rs:49:32
[INFO] [stdout]     |
[INFO] [stdout] 49  |     Named(Group<tokens::Brace, List<NamedField>>),
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^ the trait `Parse` is not implemented for `NamedField`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Parse`:
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Bang
[INFO] [stdout]               Box<T>
[INFO] [stdout]               Dollar
[INFO] [stdout]               DoubleColon
[INFO] [stdout]               EqualEqual
[INFO] [stdout]               FatArrow
[INFO] [stdout]             and 35 others
[INFO] [stdout] note: required by a bound in `List`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parsing.rs:181:8
[INFO] [stdout]     |
[INFO] [stdout] 179 | pub struct List<I, S = tokens::Comma>
[INFO] [stdout]     |            ---- required by a bound in this struct
[INFO] [stdout] 180 | where
[INFO] [stdout] 181 |     I: Parse,
[INFO] [stdout]     |        ^^^^^ required by this bound in `List`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Call: Parse` is not satisfied
[INFO] [stdout]    --> examples/rust/expression.rs:42:29
[INFO] [stdout]     |
[INFO] [stdout] 42  |     List(Call, tokens::Period, List<Call, tokens::Period>),
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Parse` is not implemented for `Call`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Parse`:
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Bang
[INFO] [stdout]               Box<T>
[INFO] [stdout]               Dollar
[INFO] [stdout]               DoubleColon
[INFO] [stdout]               EqualEqual
[INFO] [stdout]               FatArrow
[INFO] [stdout]             and 35 others
[INFO] [stdout] note: required by a bound in `List`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parsing.rs:181:8
[INFO] [stdout]     |
[INFO] [stdout] 179 | pub struct List<I, S = tokens::Comma>
[INFO] [stdout]     |            ---- required by a bound in this struct
[INFO] [stdout] 180 | where
[INFO] [stdout] 181 |     I: Parse,
[INFO] [stdout]     |        ^^^^^ required by this bound in `List`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Expression: Parse` is not satisfied
[INFO] [stdout]    --> examples/rust/expression.rs:48:34
[INFO] [stdout]     |
[INFO] [stdout] 48  |     Call(Path, Group<tokens::Paren, List<Box<Expression>>>),
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^^ the trait `Parse` is not implemented for `Expression`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Parse`:
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Bang
[INFO] [stdout]               Box<T>
[INFO] [stdout]               Dollar
[INFO] [stdout]               DoubleColon
[INFO] [stdout]               EqualEqual
[INFO] [stdout]               FatArrow
[INFO] [stdout]             and 35 others
[INFO] [stdout]     = note: required for `Box<Expression>` to implement `Parse`
[INFO] [stdout] note: required by a bound in `List`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parsing.rs:181:8
[INFO] [stdout]     |
[INFO] [stdout] 179 | pub struct List<I, S = tokens::Comma>
[INFO] [stdout]     |            ---- required by a bound in this struct
[INFO] [stdout] 180 | where
[INFO] [stdout] 181 |     I: Parse,
[INFO] [stdout]     |        ^^^^^ required by this bound in `List`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 48 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0432.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `parseal` (example "rust") due to 49 previous errors
[INFO] running `Command { std: "docker" "inspect" "1b8150b1430fa44fe6df1bf1a5c683b9e70234c58ef87edfde3e01a404f451af", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1b8150b1430fa44fe6df1bf1a5c683b9e70234c58ef87edfde3e01a404f451af", kill_on_drop: false }`
[INFO] [stdout] 1b8150b1430fa44fe6df1bf1a5c683b9e70234c58ef87edfde3e01a404f451af
